<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Analysis" rel="Chapter" href="Analysis.html">
<link title="Ast" rel="Chapter" href="Ast.html">
<link title="Ast_info" rel="Chapter" href="Ast_info.html">
<link title="Environment" rel="Chapter" href="Environment.html">
<link title="Expression" rel="Chapter" href="Expression.html">
<link title="Filename_util" rel="Chapter" href="Filename_util.html">
<link title="Interpreter" rel="Chapter" href="Interpreter.html">
<link title="Jtemplate" rel="Chapter" href="Jtemplate.html">
<link title="Lexer" rel="Chapter" href="Lexer.html">
<link title="Library" rel="Chapter" href="Library.html">
<link title="Library_builtin" rel="Chapter" href="Library_builtin.html">
<link title="Library_io" rel="Chapter" href="Library_io.html">
<link title="Library_string" rel="Chapter" href="Library_string.html">
<link title="Parser" rel="Chapter" href="Parser.html">
<link title="Parser_util" rel="Chapter" href="Parser_util.html">
<link title="RuntimeError" rel="Chapter" href="RuntimeError.html"><title>Index of values</title>
</head>
<body>
<center><h1>Index of values</h1></center>
<table>
<tr><td align="left"><br></td></tr>
<tr><td><a href="Lexer.html#VAL__ocaml_lex_double_quote_string_rec">__ocaml_lex_double_quote_string_rec</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Lexer.html#VAL__ocaml_lex_escape_char_rec">__ocaml_lex_escape_char_rec</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Lexer.html#VAL__ocaml_lex_main_rec">__ocaml_lex_main_rec</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Lexer.html#VAL__ocaml_lex_multiline_comment_rec">__ocaml_lex_multiline_comment_rec</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Lexer.html#VAL__ocaml_lex_single_quote_string_rec">__ocaml_lex_single_quote_string_rec</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Lexer.html#VAL__ocaml_lex_tables">__ocaml_lex_tables</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td align="left"><br>A</td></tr>
<tr><td><a href="Environment.html#VALadd_error">add_error</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Add an error to the analysis environemnt
</div>
</td></tr>
<tr><td><a href="Environment.html#VALadd_import">add_import</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
adds an import to the list of imports
</div>
</td></tr>
<tr><td><a href="Environment.html#VALadd_template">add_template</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Adds a template to the environment
</div>
</td></tr>
<tr><td><a href="Environment.html#VALadd_warning">add_warning</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Add a warning to the analysis environemnt
</div>
</td></tr>
<tr><td><a href="Analysis.html#VALanalyze">analyze</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
Analyzes an AST, generates a runtime AST
</div>
</td></tr>
<tr><td><a href="Analysis.html#VALanalyze_variables">analyze_variables</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
find declarations and resolve references to variables.
</div>
</td></tr>
<tr><td><a href="Expression.html#VALarray_of_value_list">array_of_value_list</a> [<a href="Expression.html">Expression</a>]</td>
<td><div class="info">
Creates an Array from a list of values
</div>
</td></tr>
<tr><td align="left"><br>C</td></tr>
<tr><td><a href="Expression.html#VALcast_to_float">cast_to_float</a> [<a href="Expression.html">Expression</a>]</td>
<td><div class="info">
cast a value to a float
</div>
</td></tr>
<tr><td><a href="Expression.html#VALcast_to_integer">cast_to_integer</a> [<a href="Expression.html">Expression</a>]</td>
<td><div class="info">
cast a value to an integer
</div>
</td></tr>
<tr><td><a href="Analysis.html#VALcheck_errors">check_errors</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
Prints all errors in an analysis environment and raises FatalExit if there are errors
</div>
</td></tr>
<tr><td><a href="Analysis.html#VALcheck_template_nesting">check_template_nesting</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
Checks for invalid nesting in a template specification
</div>
</td></tr>
<tr><td><a href="Analysis.html#VALcheck_warnings">check_warnings</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
Generates additional warnings about unused variables, then prints all warnings
</div>
</td></tr>
<tr><td><a href="Expression.html#VALcompare">compare</a> [<a href="Expression.html">Expression</a>]</td>
<td><div class="info">
Implements comparaison of two values, according to the following semantics:
</div>
</td></tr>
<tr><td align="left"><br>D</td></tr>
<tr><td><a href="Environment.html#VALdeclare_variable">declare_variable</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
declare a variable if it does not exist or create a new entry and return new index
</div>
</td></tr>
<tr><td><a href="Environment.html#VALdeclare_variable_and_value">declare_variable_and_value</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
declare a variable if it does not exist or create a new entry and return new index,
then sets constant value
</div>
</td></tr>
<tr><td><a href="RuntimeError.html#VALdisplay_error">display_error</a> [<a href="RuntimeError.html">RuntimeError</a>]</td>
<td><div class="info">
Displays an error to stdout
</div>
</td></tr>
<tr><td><a href="Lexer.html#VALdouble_quote_string">double_quote_string</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td align="left"><br>E</td></tr>
<tr><td><a href="Lexer.html#VALescape_char">escape_char</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Interpreter.html#VALevaluate">evaluate</a> [<a href="Interpreter.html">Interpreter</a>]</td>
<td><div class="info">
Evaluates an expression
</div>
</td></tr>
<tr><td><a href="Interpreter.html#VALevaluate_expr_list">evaluate_expr_list</a> [<a href="Interpreter.html">Interpreter</a>]</td>
<td><div class="info">
Evaluates a list of expressions
</div>
</td></tr>
<tr><td><a href="Interpreter.html#VALevaluate_memb_expr_index">evaluate_memb_expr_index</a> [<a href="Interpreter.html">Interpreter</a>]</td>
<td><div class="info">
Determines the value and type of expression for the last member of a member expression
</div>
</td></tr>
<tr><td><a href="Expression.html#VALevaluate_op">evaluate_op</a> [<a href="Expression.html">Expression</a>]</td>
<td><div class="info">
Evaluate the operation
</div>
</td></tr>
<tr><td><a href="Parser.html#VALextract_stmt_list">extract_stmt_list</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td align="left"><br>F</td></tr>
<tr><td><a href="Analysis.html#VALfilter_imported_ast">filter_imported_ast</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
Filters an ast, returning only a list of declaration and import statement
</div>
</td></tr>
<tr><td align="left"><br>G</td></tr>
<tr><td><a href="Analysis.html#VALgenerate_template_instr_function">generate_template_instr_function</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
Generate a set of statements corresponding to a template instruction
</div>
</td></tr>
<tr><td><a href="Environment.html#VALget_constant_value">get_constant_value</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
gets the constant value for a variable
</div>
</td></tr>
<tr><td><a href="Environment.html#VALget_depth">get_depth</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Returns the depth of the current stack frame
</div>
</td></tr>
<tr><td><a href="Parser.html#VALget_env">get_env</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Environment.html#VALget_loc_name">get_loc_name</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Returns the name of a location
</div>
</td></tr>
<tr><td><a href="Interpreter.html#VALget_member_expr_map">get_member_expr_map</a> [<a href="Interpreter.html">Interpreter</a>]</td>
<td><div class="info">
Returns the hashmap that corresponds to the member expression
</div>
</td></tr>
<tr><td><a href="Library_string.html#VALget_this">get_this</a> [<a href="Library_string.html">Library_string</a>]</td>
<td><div class="info">
Returns the value of this as a string
</div>
</td></tr>
<tr><td><a href="Environment.html#VALget_value">get_value</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Retrieves a value at a location
</div>
</td></tr>
<tr><td align="left"><br>H</td></tr>
<tr><td><a href="Environment.html#VALhas_errors">has_errors</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Returns true if there are errors in the environment
</div>
</td></tr>
<tr><td><a href="Environment.html#VALhas_import">has_import</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
checks if a file has already been imported
</div>
</td></tr>
<tr><td><a href="Expression.html#VALhashtbl_equal">hashtbl_equal</a> [<a href="Expression.html">Expression</a>]</td>
<td></td></tr>
<tr><td align="left"><br>I</td></tr>
<tr><td><a href="Lexer.html#VALincr_linenum">incr_linenum</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Library_string.html#VALindexOf">indexOf</a> [<a href="Library_string.html">Library_string</a>]</td>
<td><div class="info">
Returns the positing of a substring within a string
</div>
</td></tr>
<tr><td><a href="Library_string.html#VALinitialize">initialize</a> [<a href="Library_string.html">Library_string</a>]</td>
<td><div class="info">
Entry point for library initialization
</div>
</td></tr>
<tr><td><a href="Library_io.html#VALinitialize">initialize</a> [<a href="Library_io.html">Library_io</a>]</td>
<td><div class="info">
Entry point for library initialization
</div>
</td></tr>
<tr><td><a href="Library_builtin.html#VALinitialize">initialize</a> [<a href="Library_builtin.html">Library_builtin</a>]</td>
<td><div class="info">
Entry point for library initialization
</div>
</td></tr>
<tr><td><a href="Analysis.html#VALinline_expr_replace">inline_expr_replace</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
replaces an expression from an inlined function with the corresponding
values from a function call expression list
</div>
</td></tr>
<tr><td><a href="Interpreter.html#VALinterpret">interpret</a> [<a href="Interpreter.html">Interpreter</a>]</td>
<td><div class="info">
Interpret a runtime AST
</div>
</td></tr>
<tr><td><a href="Interpreter.html#VALinterpret_stmts">interpret_stmts</a> [<a href="Interpreter.html">Interpreter</a>]</td>
<td><div class="info">
Interprets a list of statements
</div>
</td></tr>
<tr><td><a href="Environment.html#VALis_constant">is_constant</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
returns whether the variable is a constant
</div>
</td></tr>
<tr><td><a href="Ast.html#VALis_vararg">is_vararg</a> [<a href="Ast.html">Ast</a>]</td>
<td><div class="info">
determines if a variable is a varag
</div>
</td></tr>
<tr><td align="left"><br>L</td></tr>
<tr><td><a href="Expression.html#VALlist_of_array">list_of_array</a> [<a href="Expression.html">Expression</a>]</td>
<td><div class="info">
Converts a MapValue array to a list of values
</div>
</td></tr>
<tr><td align="left"><br>M</td></tr>
<tr><td><a href="Lexer.html#VALmain">main</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Expression.html#VALmake_stackframe">make_stackframe</a> [<a href="Expression.html">Expression</a>]</td>
<td><div class="info">
Makes a stack frame from the supplied value list
</div>
</td></tr>
<tr><td><a href="Lexer.html#VALmap_id">map_id</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Expression.html#VALmismatched_compare">mismatched_compare</a> [<a href="Expression.html">Expression</a>]</td>
<td></td></tr>
<tr><td><a href="Lexer.html#VALmultiline_comment">multiline_comment</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td align="left"><br>N</td></tr>
<tr><td><a href="Environment.html#VALnew_analysis_environment">new_analysis_environment</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
returns a newly initialized analysis environment
</div>
</td></tr>
<tr><td><a href="Environment.html#VALnew_analysis_scope">new_analysis_scope</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Setups a new scope within the same global or local scope
</div>
</td></tr>
<tr><td><a href="Environment.html#VALnew_analysis_stackframe">new_analysis_stackframe</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Create a new stackframe
</div>
</td></tr>
<tr><td align="left"><br>O</td></tr>
<tr><td><a href="Expression.html#VALopname">opname</a> [<a href="Expression.html">Expression</a>]</td>
<td></td></tr>
<tr><td align="left"><br>P</td></tr>
<tr><td><a href="Parser_util.html#VALparse">parse</a> [<a href="Parser_util.html">Parser_util</a>]</td>
<td><div class="info">
Parse a channel
</div>
</td></tr>
<tr><td><a href="Parser.html#VALparse_error">parse_error</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser_util.html#VALparse_filename">parse_filename</a> [<a href="Parser_util.html">Parser_util</a>]</td>
<td><div class="info">
Parse a filename
</div>
</td></tr>
<tr><td><a href="Analysis.html#VALpass2">pass2</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
Looks for expressions where constants can be substituted
</div>
</td></tr>
<tr><td><a href="Environment.html#VALpop_scope">pop_scope</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Pops the analysis scope
</div>
</td></tr>
<tr><td><a href="Ast_info.html#VALprint_ast">print_ast</a> [<a href="Ast_info.html">Ast_info</a>]</td>
<td><div class="info">
Pretty prints the representation of the runtime AST
</div>
</td></tr>
<tr><td><a href="Analysis.html#VALprint_name_info">print_name_info</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
Prints information about names found during analysis
</div>
</td></tr>
<tr><td><a href="Parser.html#VALprogram">program</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td align="left"><br>R</td></tr>
<tr><td><a href="Environment.html#VALrecord_usage">record_usage</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Records a variables property
</div>
</td></tr>
<tr><td><a href="Library.html#VALregister_for_analysis">register_for_analysis</a> [<a href="Library.html">Library</a>]</td>
<td><div class="info">
Registers all library functions and params in an analysis environment
</div>
</td></tr>
<tr><td><a href="Library.html#VALregister_for_runtime">register_for_runtime</a> [<a href="Library.html">Library</a>]</td>
<td><div class="info">
Registers library functions into a runtime environment
</div>
</td></tr>
<tr><td><a href="Analysis.html#VALreplace_constant">replace_constant</a> [<a href="Analysis.html">Analysis</a>]</td>
<td><div class="info">
Replace non modified variables with their declared value
</div>
</td></tr>
<tr><td><a href="Filename_util.html#VALresolve_filename">resolve_filename</a> [<a href="Filename_util.html">Filename_util</a>]</td>
<td><div class="info">
converts a relative filename and path into an absolute filename
</div>
</td></tr>
<tr><td><a href="Interpreter.html#VALresolve_func_this">resolve_func_this</a> [<a href="Interpreter.html">Interpreter</a>]</td>
<td><div class="info">
Resolves a function call by an expression into a function and a this object
</div>
</td></tr>
<tr><td><a href="Parser.html#VALresolve_import">resolve_import</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Environment.html#VALresolve_variable">resolve_variable</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Find variable in analysis scope
</div>
</td></tr>
<tr><td><a href="Environment.html#VALresolve_variable_value">resolve_variable_value</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Find variable and value in analysis scope
</div>
</td></tr>
<tr><td><a href="Interpreter.html#VALrun_function">run_function</a> [<a href="Interpreter.html">Interpreter</a>]</td>
<td><div class="info">
Runs a function
</div>
</td></tr>
<tr><td align="left"><br>S</td></tr>
<tr><td><a href="Environment.html#VALset_constant_value">set_constant_value</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
sets the declaration value for a variable
</div>
</td></tr>
<tr><td><a href="Environment.html#VALset_value">set_value</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
Sets a value at a location
</div>
</td></tr>
<tr><td><a href="Lexer.html#VALsingle_quote_string">single_quote_string</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td><a href="Ast_info.html#VALstatement_description">statement_description</a> [<a href="Ast_info.html">Ast_info</a>]</td>
<td><div class="info">
Returns a pretty printed representation of the runtime AST
</div>
</td></tr>
<tr><td><a href="RuntimeError.html#VALstring_of_error">string_of_error</a> [<a href="RuntimeError.html">RuntimeError</a>]</td>
<td><div class="info">
Returns an error message for an exception
</div>
</td></tr>
<tr><td><a href="Expression.html#VALstring_of_value">string_of_value</a> [<a href="Expression.html">Expression</a>]</td>
<td><div class="info">
Converts a value to a string
</div>
</td></tr>
<tr><td><a href="Expression.html#VALstring_of_value_type">string_of_value_type</a> [<a href="Expression.html">Expression</a>]</td>
<td><div class="info">
returns a string name for a value's type
</div>
</td></tr>
<tr><td><a href="Lexer.html#VALsyntax_exception">syntax_exception</a> [<a href="Lexer.html">Lexer</a>]</td>
<td></td></tr>
<tr><td align="left"><br>U</td></tr>
<tr><td><a href="Environment.html#VALuid_from_loc">uid_from_loc</a> [<a href="Environment.html">Environment</a>]</td>
<td><div class="info">
returns uid from location
</div>
</td></tr>
<tr><td align="left"><br>V</td></tr>
<tr><td><a href="Expression.html#VALvalue_type">value_type</a> [<a href="Expression.html">Expression</a>]</td>
<td><div class="info">
Returns a value's type
</div>
</td></tr>
<tr><td><a href="Ast.html#VALvararg_formalname">vararg_formalname</a> [<a href="Ast.html">Ast</a>]</td>
<td><div class="info">
retuns the name for a vararg
</div>
</td></tr>
<tr><td align="left"><br>Y</td></tr>
<tr><td><a href="Parser.html#VALyyact">yyact</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyycheck">yycheck</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyydefred">yydefred</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyydgoto">yydgoto</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyygindex">yygindex</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyylen">yylen</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyylhs">yylhs</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyynames_block">yynames_block</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyynames_const">yynames_const</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyyrindex">yyrindex</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyysindex">yysindex</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyytable">yytable</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyytables">yytables</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyytablesize">yytablesize</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyytransl_block">yytransl_block</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
<tr><td><a href="Parser.html#VALyytransl_const">yytransl_const</a> [<a href="Parser.html">Parser</a>]</td>
<td></td></tr>
</table><br>
</body>
</html>